﻿/*************************
用CRS法表示稀疏矩阵
头文件
*************************/
#include<iostream>
using namespace std;
const int NN=4;
class SparseMatrix//稀疏矩阵类声明
{
private:
	float spm[NN][NN];
	float yy[NN];
	float crsm[3][NN];
	float val[NN];
	int colidx[NN];
	int rowptr[NN];
	int row;//行数
	int col;//列数
public:
	void init();//矩阵初始化
	void compressmatrix();//矩阵CRS压缩
//	void transpmatrix();//将CRS矩阵转置
	void crsdisplay();//显示CRS矩阵
	void LUsolve();//LU分解
	float getmx(float a[NN][NN],float x[NN],int i);//使用已经求出的x，向前计算x(供getx()调用)
    float getmy(float a[NN][NN],float y[NN],int i);//使用已经求出的y，向前计算y(供gety()调用)
    float getx(float a[NN][NN],float b[NN],float x[NN],int i);//解方程组，计算某x
    float gety(float a[NN][NN],float b[NN],float y[NN],int i);//解数组Y，计算其中一元素值
};
